home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / art&graf.ix / art-0074 / qrt / plus.qrt < prev    next >
Text File  |  1997-04-16  |  5KB  |  236 lines

  1. {**************************************************
  2.  
  3.     QRT source for abstract thing shaped sort of
  4.     like a dumbell supported by levitating
  5.     blue rings.  (it might well bring millions if
  6.     auctioned off as modern art).
  7.  
  8.     - Steve Koren   9 Jun 88
  9.  
  10.  **************************************************}
  11.  
  12.  
  13. FILE_NAME = Plus.RAW
  14.  
  15. { *********   Some pattern definitions ********** }
  16.  
  17. PATTERN ( x_size = 16,                 { ** A stripe pattern ** }
  18.           y_size = 8,                  { ** for the sphere ** }
  19.           name   = MIRROR_STRIPE,
  20.  
  21.           RECTANGLE (
  22.             start_x = 0, start_y = 0,
  23.             end_x   = 16, end_y   = 4,
  24.  
  25.             diff    = (.1, .1, .1),
  26.             mirror  = (.9, .9, .9)
  27.           )
  28.         )
  29.  
  30. PATTERN ( x_size = 60,                 { ** Checkered pattern ** }
  31.           y_size = 60,
  32.           name   = CHECK,
  33.           RECTANGLE (
  34.             start_x = 0,
  35.             start_y = 0,
  36.             end_x   = 30,
  37.             end_y   = 30,
  38.             diff    = (.1,1.0,.1),
  39.           )
  40.           RECTANGLE (
  41.             start_x = 30,
  42.             start_y = 30,
  43.             end_x   = 60,
  44.             end_y   = 60,
  45.             diff    = (.1,1.0,.1),
  46.           )
  47.         )
  48.  
  49. { *********************  OBJECTS  ********************* }
  50.  
  51. { ** ground (standard checkered type) ** }
  52.  
  53. PARALLELOGRAM ( loc  = (  -10000, 0,  -10000),  { ** big! ** }
  54.                 v1   = (20000, 0,    0),
  55.                 v2   = (  0, 0, 20000),
  56.  
  57.                 diff = (  .8, .8, 0),
  58.                 pattern = CHECK
  59.                 xmult = 2
  60.                 ymult = 2
  61.               )
  62.  
  63. BEGIN_BBOX
  64.  
  65.     { ** Horizontal pole ** }
  66.  
  67.  
  68.     SPHERE ( loc = (200, 90, -80),
  69.              radius = 35,
  70.              diff = (.7, .3, .5),
  71.  
  72.              pattern = MIRROR_STRIPE,
  73.              xmult   = 1.5,
  74.              ymult   = 1.5
  75.            )
  76.  
  77.     QUADRATIC ( loc = (200, 90, 1),
  78.  
  79.                 a    = 1,
  80.                 b    = 1,
  81.                 c    = 0,
  82.                 d    = 150,
  83.                 xmin = -13,
  84.                 xmax = 13,
  85.                 ymin = -13,
  86.                 ymax = 13,
  87.                 zmin = -80,
  88.                 zmax = 80,
  89.  
  90.                 diff = (.8, .1, .1)
  91.                 reflect  = .65
  92.                 sreflect = 20
  93.               )
  94.  
  95.     SPHERE ( loc = (200, 90, 80),
  96.              radius = 35,
  97.              diff = (.7, .3, .5),
  98.  
  99.              pattern = MIRROR_STRIPE,
  100.              xmult   = 1.5,
  101.              ymult   = 1.5
  102.            )
  103.  
  104. END_BBOX
  105.  
  106. { ** Bunch of floating rings ** }
  107.  
  108. BEGIN_BBOX
  109.  
  110.     BEGIN_BBOX
  111.  
  112.         RING ( loc   = (150, 20, 0),
  113.                v1    = (1, 0, 0)
  114.                v2    = (0, 0, 1)
  115.                rad_2 = 15
  116.                rad_1 = 8
  117.  
  118.                diff  = (.2, .8, .8)
  119.              )
  120.  
  121.         RING ( loc   = (150, 30, 0),
  122.                v1    = (1, 0, 0)
  123.                v2    = (0, 0, 1)
  124.                rad_2 = 15
  125.                rad_1 = 8
  126.  
  127.                diff  = (.2, .8, .8)
  128.              )
  129.  
  130.     END_BBOX
  131.  
  132.     BEGIN_BBOX
  133.  
  134.         RING ( loc   = (150, 40, 0),
  135.                v1    = (1, 0, 0)
  136.                v2    = (0, 0, 1)
  137.                rad_2 = 15
  138.                rad_1 = 8
  139.  
  140.                diff  = (.2, .8, .8)
  141.              )
  142.  
  143.         RING ( loc   = (150, 50, 0),
  144.                v1    = (1, 0, 0)
  145.                v2    = (0, 0, 1)
  146.                rad_2 = 15
  147.                rad_1 = 8
  148.  
  149.                diff  = (.2, .8, .8)
  150.              )
  151.  
  152.     END_BBOX
  153.  
  154.     BEGIN_BBOX
  155.  
  156.         RING ( loc   = (150, 60, 0),
  157.                v1    = (1, 0, 0)
  158.                v2    = (0, 0, 1)
  159.                rad_2 = 15
  160.                rad_1 = 8
  161.  
  162.                diff  = (.2, .8, .8)
  163.              )
  164.  
  165.         RING ( loc   = (150, 70, 0),
  166.                v1    = (1, 0, 0)
  167.                v2    = (0, 0, 1)
  168.                rad_2 = 15
  169.                rad_1 = 8
  170.  
  171.                diff  = (.2, .8, .8)
  172.              )
  173.  
  174.         RING ( loc   = (150, 80, 0),
  175.                v1    = (1, 0, 0)
  176.                v2    = (0, 0, 1)
  177.                rad_2 = 15
  178.                rad_1 = 8
  179.  
  180.                diff  = (.2, .8, .8)
  181.              )
  182.  
  183.     END_BBOX
  184.  
  185. END_BBOX
  186.  
  187. { ** Base - slightly reflective ** }
  188.  
  189. BEGIN_BBOX
  190.  
  191.     PARALLELOGRAM ( loc  = ( 100, 10,-100),
  192.                     v1   = ( 0,   0,  200),
  193.                     v2   = ( 200, 0,    0),
  194.  
  195.                     diff   = ( .6, .4, .4),
  196.                     dither = 4
  197.                   )
  198.  
  199.     PARALLELOGRAM ( loc  = ( 100,  0,-100),
  200.                     v1   = (   0,  0, 200),
  201.                     v2   = (   0, 10,   0),
  202.  
  203.                     diff   = ( .3, .1, .1),
  204.                     mirror = ( .4, .2, .2)
  205.                   )
  206.  
  207. END_BBOX
  208.  
  209. { ** An observer ** }
  210.  
  211. OBSERVER ( loc    = (-20, 110, -100)
  212.            lookat = (200, 50, 0)
  213.          )
  214.  
  215. { ** A lamp (really, 2 lamps ) ** }
  216.  
  217. LAMP ( loc = (120, 140, 50),
  218.        radius = 5,
  219.        dist = 90
  220.      )
  221.  
  222. LAMP ( loc = (100, 55, -70),
  223.        radius = 5,
  224.        dist = 95
  225.      )
  226.  
  227. { ** Might as well make the sky dark blue ** }
  228.  
  229. SKY  ( horiz  = (.2, .2, .55),
  230.        zenith = (.1, .1, .25),
  231.        dither = 4
  232.      )
  233.  
  234. FOC_LENGTH = 70  { ** slight telephoto ** }
  235.  
  236.